跳到主要内容

库操作,DDL

创建,create
---------

(create,几乎所有的结构都是用该语法完成)

create database 库名 [库选项]

![](0FF04507E1DE15EBAE5A03C7387D9535.png)

注意的问题:

库选项,只有字符集,校对集的概念!

每个库,会对应一个数据目录

存放在当前mysql的总的数据库目录内

参考 mysql的配置文件得到该目录:

![](B05345A9B3510A93D68B4183B020A53D.png)

![](F74F7A643590EC95200F67374C818129.png)

看到刚刚的数据库目录:

![](5A61BBE014EAE94931C7478AEBB47C44.png)

看看目录内,没有表,没有其他文件,除了一个数据库选项文件:

![](70B196DE7392F8BDB67FBB06EA5EEB87.png)

![](19A3DCE0DE1864D52B5447D47CA69E0A.png)

数据库名的问题

大小写问题,取决于mysql服务器,所在的操作系统!(建议是,认为区分)

特殊名称,关键字,特殊字符等!默认是不可以的!

![](B781873D1812B5784A3C189F13476577.png)

但是,可以使用反引号将名称包裹起来,告知服务器,此处一个名字,而不是特殊操作!

![](0959D33D8E9EB2FF564F88DDCFF4792A.png)

中文等都可以作为标识符(库名),需要同样反引号!(多字节字符,还需要注意字符集的问题)

![](E6F1B061CC873B9B52173DED271921F0.png)

===================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================

查询(看看有哪些库,库的基本结构),show
----------------------

### 查询已有的数据库名字

show databases;

![](617085416CE51F9B6599176A4FD1A37F.png)

show databases likes;

like 关键字用于过滤多个数据库!

![](96DD7F85C3D30A5E2C93D74D92C69778.png)

可以使用通配符(通用匹配符,可以匹配多个字符)

% 匹配任意字符的任意次数(包括0次)的组合!

\_ 匹配任意字符的一次!

like ‘x\_y’;

x1y xby xxy(可以)

xy(不可以)

通配符是与 like 关键字一起使用!

注意如需要匹配特定的通配符,则需要对通配符转义,使用反斜杠\\完成转义!

![](6239ECA55077A94A4EDC52F6272CB99A.png)

==================================================================================================================================================================================================================================================================================================================================================================================================================================================================

### 查看某个数据库的定义

show create database 库名;

![](1BA39A3C9C4ACFA0F20EF657901EF7BE.png)

![](E3D562A3E83DEA318C0F37C4C253DEF4.png)

==========================================================================================================================================================

修改,alter
--------

alter database 数据库名

只能修改数据库选项

![](03062C109DB43D08CED6FE8107C7848B.png)

=============================================================================================================

删除,drop
-------

drop database 名字

![](06F832F4F4A273F0CDE2968AED0C8FC1.png)

=============================================================================================

if not exists, if exists
------------------------

在 create 与 drop 时,创建和删除时,有两个额外的操作:

create database if not exists 库名

如果不存在则创建

drop database if exists 库名

如果存在,则删除

![](3B501196D835195D9BCA79056427E922.png)

==================================================================================================================================================================================================================================

删除库
---

增加删除的链接,传递所操作的库名!

在数据库列表页:

![](C83A44EBBE0CE89A68CF269B0849A8FF.jpg)

![](869422D33ED73537CD939880336D346F.png)

增加一个处理删除的功能页面:

在形成 sql时,只要出现了标识符(库名,表名,字段名,索引名),都使用反引号!

请求跳转:

header(‘Location: url’);//告知浏览器,对新的url发出请求!

database\_drop.php

![](B95DE847E4792B1AC15BD66A48E764C4.png)

========================================================================================================================================================================================================================================================================================================================================================================================

新建库
---

执行 create database

列表页,增加一个链接,请求到创建页:

![](266C118A43D5F6B071518437D0602D10.png)

增加一个create\_form表单页面

![](6746891CAE838E393F1E64338C739B0B.png)

在增加一个脚本处理该数据即可

database\_create.php

![](1AC8A4B121F7C464DA8423A947DA8185.png)

如果存在多个选项,因该如何处理?

例如字符集!

应该,取得所有的字符集。

利用 show character set;可以展示所有的字符集!

![](D66291891FA2219AC70AE6529C9964B0.png)

![](93F5255B0FB8EE861B01E2E525D27E5C.png)

在创建库时,需要先对哪个字符集做一次判断!(是否是默认)

database\_create.php

![](7C8366F544C6C5DBABCA87FC653B482A.png)

=====================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================